<?php

/**
 * 这是表 "{{post}}" 的模型类。
 *
 * 下面是表 "{{post}}" 中可用的列:
 * @property integer $post_id
 * @property string $post_title
 * @property string $post_content
 * @property string $post_creattime
 * @property string $post_updatetime
 * @property integer $post_check
 * @property integer $post_delete
 * @property integer $post_category_id
 * @property integer $post_autor
 *
 * 下面是模型中可用的关联:
 * @property Ccomments[] $ccomments
 * @property Admin $postAutor
 * @property Postcategory $postCategory
 * @property Posttag[] $posttags
 */
class Post extends CActiveRecord
{
    /**
     * 返回指定 AR 类的静态模型。
     * @param string $className 活动记录类的名字。
     * @return Post静态模型类
     */
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    /**
     * @return string 相关联的数据库表名。
     */
    public function tableName()
    {
        return '{{post}}';
    }

    /**
     * @return array 模型属性的验证规则。
     */
    public function rules()
    {
        // 注意: 仅需为可能接受用户输入的属性定义规则。
        return array(
            array('post_title, post_content, post_creattime, post_category_id, post_autor', 'required'),
            array('post_check, post_delete, post_category_id, post_autor', 'numerical', 'integerOnly'=>true),
            array('post_title', 'length', 'max'=>255),
            array('post_updatetime', 'safe'),
        );
    }

    /**
     * @return array 模型的关联。
     */
    public function relations()
    {
        return array(
            'ccomments' => array(self::HAS_MANY, 'Ccomments', 'ccomment_post_id'),
            'postAutor' => array(self::BELONGS_TO, 'Admin', 'post_autor'),
            'postCategory' => array(self::BELONGS_TO, 'Postcategory', 'post_category_id'),
            'posttags' => array(self::HAS_MANY, 'Posttag', 'post_id'),
        );
    }

    /**
     * @return array 为属性自定义的标签。 (name=>label)
     */
    public function attributeLabels()
    {
		return array(
			'post_id' => 'Post',
			'post_title' => 'Post Title',
			'post_content' => 'Post Content',
			'post_creattime' => 'Post Creattime',
			'post_updatetime' => 'Post Updatetime',
			'post_check' => 'Post Check',
			'post_delete' => 'Post Delete',
			'post_category_id' => 'Post Category',
			'post_autor' => 'Post Autor',
		);    
	}
	/**
	 * 基于当前的检索/过滤条件，检索出符合条件的模型实例。
	 * @return CActiveDataProvider 可以基于当前的检索/过滤条件返回模型实例的数据提供者。
	 */
	public function search()
	{
		// 注意：请修改下面的代码，将不需要检索的属性移除。
		$criteria=new CDbCriteria;
		$criteria->compare('post_id',$this->post_id);
		$criteria->compare('post_title',$this->post_title,true);
		$criteria->compare('post_content',$this->post_content,true);
		$criteria->compare('post_creattime',$this->post_creattime,true);
		$criteria->compare('post_updatetime',$this->post_updatetime,true);
		$criteria->compare('post_check',$this->post_check);
		$criteria->compare('post_delete',$this->post_delete);
		$criteria->compare('post_category_id',$this->post_category_id);
		$criteria->compare('post_autor',$this->post_autor);
		return new CActiveDataProvider($this, array('criteria'=>$criteria));
	}
}